<HTML> 
<HEAD> 
	<TITLE>3rd Party ROBOTC Drivers</TITLE> 
<link href="tabs.css" rel="stylesheet" type="text/css"/> 
<link href="doxygen.css" rel="stylesheet" type="text/css"/> 
</HEAD> 
 
<BODY bgcolor="#ffffff" link="#000000" vlink="#000000"> 
<table width="100%" bgcolor="navy" cellspacing=0 cellpadding=1 border=0> 
<tr><td><table width="100%" bgcolor="#EEEEDD" cellspacing=0 cellpadding=3 border=0> 
<tr> 
    <td width="33%" align="left"> <img src="images/LOGO_NXT.gif" width=266 height=44 border="0" alt="Mindstorms"></td> 
    <td><b><font size="+3" color="navy">3rd Party ROBOTC Drivers</font></b></td> 
    <td align="right"> <img src="images/logo.png" width=44 height=44 border="0" alt="RobotC"></td>     
</tr> 
  <tr bgcolor="#cccc99" align="right"> 
          <td colspan=3> <font face="arial" size="-1"> [<a href=main.html>Home</a>] [<a target=_top href="https://sourceforge.net/projects/rdpartyrobotcdr/">Download</a>] [<a target=_top href="http://apps.sourceforge.net/mantisbt/rdpartyrobotcdr/my_view_page.php">Submit a bug/suggestion</a>]  [<a target=_top href="http://www.robotc.net/forums/">ROBOTC Forums</a>] [<a target=_top href="http://botbench.com">Blog</a>] [<a target=_top href="http://sourceforge.net/donate/index.php?group_id=257238">Support this project</a>]</font> </td> 
</tr> 
</table></td></tr> 
</table> 
<!-- Generated by Doxygen 1.7.2 -->
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<h1>mindsensors-lineleader.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>Mindsensors Line Tracking Sensor.  
<a href="#_details">More...</a></p>
<code>#include &quot;<a class="el" href="common_8h_source.html">common.h</a>&quot;</code><br/>

<p><a href="mindsensors-lineleader_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gacf9f00f667e856b91dd8c12fbfed42a4">LL_I2C_ADDR</a>&#160;&#160;&#160;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga746196c5de3e53dc5725aab5371eb93e">LL_CMD_REG</a>&#160;&#160;&#160;0x41</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga71b745ac640e505f3d1b16c9676d80b7">LL_SETPOINT</a>&#160;&#160;&#160;0x45</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gacc1f77e986571b86ba33032b50cb455f">LL_KP_VALUE</a>&#160;&#160;&#160;0x46</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga828d2ade2893ef6fe4d3da8dcb5085c7">LL_KI_VALUE</a>&#160;&#160;&#160;0X47</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gaa6ab601259447a08cb199b0c93c4f398">LL_KD_VALUE</a>&#160;&#160;&#160;0X48</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gada9c6b1576eca1d325b85c40cc7855af">LL_KP_FACTOR</a>&#160;&#160;&#160;0x61</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga1b438aeb7ddc87573bfd9c24ca42458a">LL_KI_FACTOR</a>&#160;&#160;&#160;0X62</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga92eb450c20cd134bc90ff6ff2f6347a1">LL_KD_FACTOR</a>&#160;&#160;&#160;0X63</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga85a98047cb31c3c285f3a6d3f4db060a">LL_READ_STEERING</a>&#160;&#160;&#160;0x42</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga1638f7ba693960a75abf313a7344a9ee">LL_READ_AVERAGE</a>&#160;&#160;&#160;0X43</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga12ad5be14508319b2bfc8290b41ad886">LL_READ_RESULT</a>&#160;&#160;&#160;0X44</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga5638e005055b1df5e595734a42c4b179">LL_SENSOR_RAW</a>&#160;&#160;&#160;0X49</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga253d9d0e7d4ea08b11dc777088490bc1">LL_WHITE_LIMIT</a>&#160;&#160;&#160;0X51</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga746144b962d3a52cbf7d507c6be2d4c2">LL_BLACK_LIMIT</a>&#160;&#160;&#160;0X59</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gad0456ad794e3fa5deb85f288315c4d49">LL_SENSOR_UNCAL</a>&#160;&#160;&#160;0x74</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga1db790809590cad8e206870a3e814bbc">LLinit</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga3b5fbe1abe3eb0889c9fb30ff7d7c01b">LLwakeUp</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga2bbf71694ef338dab472618a6442c429">LLsleep</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gad94d0f9fc1c628d9e1a8fe598d64302b">LLinvertLineColor</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gaefd78fa2909cf1b98961ebf3e845e7b1">LLresetLineColor</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga71dbb04b90ec6f5c90c34b5db4c638d5">LLtakeSnapshot</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga780835bc9c4f659670ac26a992896ac7">LLcalWhite</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga9441ee5facb3b5a93d35fd47624b996c">LLcalBlack</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga48b8ab2daaa7afede45d1501933824f0">LLsetPoint</a> (tSensors link, ubyte data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga8b142f1b378d3cecbdd5e4b5a2a7d788">LLsetPoint</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga023144b86129e6828fa94b757016065f">LLsetKp</a> (tSensors link, ubyte data, ubyte factor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gaee40b167cd0fcb978895964cbf1d478b">LLreadKp</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga49001b6744c482e856fde7283e711e75">LLreadKpFactor</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga9ca02184d0ee468b2fdd7e537654d7d3">LLsetKi</a> (tSensors link, ubyte data, ubyte factor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gac090fcc45f5a6c53c94a31d82b61924e">LLreadKi</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga49d4b5bed7383b1ca1d3b45860dec496">LLreadKiFactor</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga5e59a3463a3e8b2665e6b3555da8f93d">LLsetKd</a> (tSensors link, ubyte data, ubyte factor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga2d9d9c3cfd5dd9be7bb4f9e57408fbd7">LLreadKd</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga8d6b35d47284e3ee40b68a490ad71ced">LLreadKdFactor</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga5c46604095f77a86983b7aeaf22200dc">LLreadSteering</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga9a35e15add220ed326ca7520ffe65e6c">LLreadAverage</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga7dd78212c25b63c0349b8f4c61e11e1b">LLreadResult</a> (tSensors link)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga60491a411576c00b70909e1f295919db">LLreadSensorRaw</a> (tSensors link, <a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a> &amp;pMsg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga9c243c81526226b5666b5d14a5fc8e59">LLreadSensorUncalibrated</a> (tSensors link, <a class="el" href="group__common.html#ga79eb917b5a56f0d0e7cf94886c6ac25c">tIntArray</a> &amp;sensorValues)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga1aaffb6d171becb4d2cb516077417691">LLreadWhiteThresh</a> (tSensors link, <a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a> &amp;pMsg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gafe57238ecefde4bc4992c0ff8c77a896">LLreadBlackThresh</a> (tSensors link, <a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a> &amp;pMsg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga2d006a5dfeb2fe7485f2175b5832b70c">_lineLeader_cmd</a> (tSensors link, ubyte cmd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga78825ff1e7aa83f16529ae1461160da5">_lineLeader_write</a> (tSensors link, ubyte regToWrite, ubyte data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga516ab302bdda4f6159a2ef5ffd6b2f8d">_lineLeader_read</a> (tSensors link, ubyte regToRead, ubyte &amp;retval)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#gac5d314850c7f4192dd2e7c2307f96f6b">_lineLeader_read</a> (tSensors link, ubyte regToRead, int numBytes, <a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a> &amp;pDataMsg)</td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga8dd01df4fc54bdb09a4d0324e0a52b14">LL_I2CRequest</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common.html#gaa172ef131853460e5b9f5c6db81d30f4">tByteArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga2be29d118be70da80c5b5b0ddeaad572">LL_I2CReply</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ubyte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__msll.html#ga212a936c0d0cc14338cd1152384c4885">oneByte</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Mindsensors Line Tracking Sensor. </p>
<p><a class="el" href="mindsensors-lineleader_8h.html" title="Mindsensors Line Tracking Sensor.">mindsensors-lineleader.h</a> provides an API for the Mindsensors Line Tracking Sensor.</p>
<p>Changelog:</p>
<ul>
<li>0.1 Initial TFR<br/>
</li>
<li>0.2 Added ability to read multi-ubyte values for raw, white and black thresholds.<br/>
</li>
<li>0.3 Added PID factor registers (Read/Write), Added new commands 'S'napShot, 'R'eset, and changed function and method names to be more C++ like.<br/>
</li>
<li>0.4 Modified to conform to new "naming standard" and be part of the driver suite.<br/>
 changed all (int) casts to ubyteToInt() calls.<br/>
 all direct I2C calls changed to readI2C() and <a class="el" href="group__common.html#gad02e06f83b264ee6fc7df41eb4712080">writeI2C()</a> calls.</li>
<li>0.5 Bug in LLreadSteering fixed</li>
<li>0.6 Added LLreadSensorUncalibrated</li>
</ul>
<p>License: You may use this code as you wish, provided you give credit where it's due.</p>
<p>THIS CODE WILL ONLY WORK WITH ROBOTC VERSION 3.59 AND HIGHER.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Thom Roach </dd>
<dd>
Xander Soldaat (version 0.4+) </dd></dl>
<dl class="date"><dt><b>Date:</b></dt><dd>29 October 2009 </dd></dl>
<dl class="version"><dt><b>Version:</b></dt><dd>0.6 </dd></dl>

<p>Definition in file <a class="el" href="mindsensors-lineleader_8h_source.html">mindsensors-lineleader.h</a>.</p>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Mar 13 2013 19:56:43 for ROBOTC Drivers by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
</body>
</html>
